using UnityEngine;
namespace NextMind.Examples.Steps
{
///
/// An AbstractStep is the base class defining a step managed by the .
///
public abstract class AbstractStep : MonoBehaviour
{
///
/// A reference to the stepsManager.
///
protected internal StepsManager stepsManager;
///
/// Function triggered when this step instance is opened.
///
public virtual void OnEnterStep() { }
///
/// Function triggered when this step instance is left.
///
public virtual void OnExitStep() { }
///
/// Function triggered every frame when this step instance is active.
///
public virtual void UpdateStep() { }
///
/// Function telling the StepsManager if going to the next step from this one is allowed.
///
/// True by default.
public virtual bool GoToNextStepAllowed() { return true; }
///
/// Function telling the StepsManager if going back to the previous step from this one is allowed.
///
/// True by default.
public virtual bool GoToPreviousStepAllowed() { return true; }
}
}